package com.lyy.service;

import com.github.pagehelper.PageInfo;
import com.lyy.entity.Banner;
import com.lyy.entity.User;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author Liangyaoyun
 */
public interface UserService {
    int insertByUserId(User user);
    int updateByUserId(User user);
    int deleteByUserId(Integer userId);
    User selectByUserId(Integer userId);
    int deleteByUserIds(List<Integer> userId);
    List<User>selectAllUser();
    PageInfo<User> selectBypage(Integer pageNumber, Integer pageSize);
    User login(String username,String password);
    /**
     * 查询今日注册的用户数量
     *
     * @return 今日注册的用户数量
     */
    int todayCount();
    /**
     * 查询全部用户数量
     *
     * @return 全部用户数量
     */
    int totalCount();
    /**
     * 用户性别分析
     *
     * @return key为性别，value为对应该性别的数量
     */
    List<Map<String, Integer>> genderCount();
    /**
     * 近5日用户增长分析
     *
     * @return key为日期，value为对应该日期的用户数量
     */
    List<Map<String, Integer>> growthCount();
    /**
     * 上传轮播图片
     *
     * @param avatarFile 轮播图片
     * @param userId   轮播图主键
     * @return 影响条目数
     */
    int uploadAvatar(MultipartFile avatarFile, Integer userId);
}
